怎样自定义spring boot @configuration 的加载顺序? 如果在第三方jar包中,该怎么干预加载顺序呢? 多个conditionOn 到底哪个呢? |
您所在的位置:网站首页 › spring boot bean 加载顺序 › 怎样自定义spring boot @configuration 的加载顺序? 如果在第三方jar包中,该怎么干预加载顺序呢? 多个conditionOn 到底哪个呢? |
1.spring boot bean 的加载顺序? 2. spring boot bean 是否加载? 3.配置文件的加载顺序,及优先级,怎样干预加载的配置文件? 4 .加载之后怎样修改bean 的属性呢?尤其在修改第三方的jar包中的属性? 怎么做到?
1.@Configuration 注解的加载允许由于@AutoConfiguratio注解的加载, 实现Ordered接口,重写里面的getOrder方法,返回一个整数,值越小,优先级越高,org.springframework.core.Ordered.HIGHEST_PRECEDENCE表示最高优先级 标注@Order 注解,同样值越小优先级越高; 自动配置类的使用 @AutoConfigureAfter,@AutoConfigureBefore ,@AutoConfigureOrder 来限定
2:a.@Profie 注解可以限定在指定环境加载, b.@ConditionXXX系列注解可以限定bean 是否加载, c.实现XXXpostProcesser,可以手动控制bean 加载,包括增删改等 d,实现XXXAware,获得上下文,手动干预 f.@ComponentScan里面的属性限制 g:自定义TypeFilter来限定bean 是否注册 3.实现EnvironmentPostProcessor,be在spring.factories中注册,可以对任何属性进行修改,重新设置等 4: 修改bean 的属性:.实现BeanPostProcessor,BeanPostProcessor,接口实现里面的方法,从上下文刚中获取Bean,返回就OK了 对于第三方jar包还可以自已第一一份使用org.springframework.context.annotation.Primary 注解替换掉原有的,自己实现一份
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |